﻿using System;
using System.Runtime.InteropServices;
using System.Text;

namespace Valve.VR
{
	// Token: 0x02000798 RID: 1944
	public class CVRSettings
	{
		// Token: 0x06002EFF RID: 12031 RVA: 0x000F3B08 File Offset: 0x000F1D08
		internal CVRSettings(IntPtr pInterface)
		{
			this.FnTable = (IVRSettings)Marshal.PtrToStructure(pInterface, typeof(IVRSettings));
		}

		// Token: 0x06002F00 RID: 12032 RVA: 0x000F3B2C File Offset: 0x000F1D2C
		public string GetSettingsErrorNameFromEnum(EVRSettingsError eError)
		{
			IntPtr ptr = this.FnTable.GetSettingsErrorNameFromEnum(eError);
			return Marshal.PtrToStringAnsi(ptr);
		}

		// Token: 0x06002F01 RID: 12033 RVA: 0x000F3B54 File Offset: 0x000F1D54
		public bool Sync(bool bForce, ref EVRSettingsError peError)
		{
			return this.FnTable.Sync(bForce, ref peError);
		}

		// Token: 0x06002F02 RID: 12034 RVA: 0x000F3B78 File Offset: 0x000F1D78
		public void SetBool(string pchSection, string pchSettingsKey, bool bValue, ref EVRSettingsError peError)
		{
			this.FnTable.SetBool(pchSection, pchSettingsKey, bValue, ref peError);
		}

		// Token: 0x06002F03 RID: 12035 RVA: 0x000F3B90 File Offset: 0x000F1D90
		public void SetInt32(string pchSection, string pchSettingsKey, int nValue, ref EVRSettingsError peError)
		{
			this.FnTable.SetInt32(pchSection, pchSettingsKey, nValue, ref peError);
		}

		// Token: 0x06002F04 RID: 12036 RVA: 0x000F3BA8 File Offset: 0x000F1DA8
		public void SetFloat(string pchSection, string pchSettingsKey, float flValue, ref EVRSettingsError peError)
		{
			this.FnTable.SetFloat(pchSection, pchSettingsKey, flValue, ref peError);
		}

		// Token: 0x06002F05 RID: 12037 RVA: 0x000F3BC0 File Offset: 0x000F1DC0
		public void SetString(string pchSection, string pchSettingsKey, string pchValue, ref EVRSettingsError peError)
		{
			this.FnTable.SetString(pchSection, pchSettingsKey, pchValue, ref peError);
		}

		// Token: 0x06002F06 RID: 12038 RVA: 0x000F3BD8 File Offset: 0x000F1DD8
		public bool GetBool(string pchSection, string pchSettingsKey, ref EVRSettingsError peError)
		{
			return this.FnTable.GetBool(pchSection, pchSettingsKey, ref peError);
		}

		// Token: 0x06002F07 RID: 12039 RVA: 0x000F3BFC File Offset: 0x000F1DFC
		public int GetInt32(string pchSection, string pchSettingsKey, ref EVRSettingsError peError)
		{
			return this.FnTable.GetInt32(pchSection, pchSettingsKey, ref peError);
		}

		// Token: 0x06002F08 RID: 12040 RVA: 0x000F3C20 File Offset: 0x000F1E20
		public float GetFloat(string pchSection, string pchSettingsKey, ref EVRSettingsError peError)
		{
			return this.FnTable.GetFloat(pchSection, pchSettingsKey, ref peError);
		}

		// Token: 0x06002F09 RID: 12041 RVA: 0x000F3C44 File Offset: 0x000F1E44
		public void GetString(string pchSection, string pchSettingsKey, StringBuilder pchValue, uint unValueLen, ref EVRSettingsError peError)
		{
			this.FnTable.GetString(pchSection, pchSettingsKey, pchValue, unValueLen, ref peError);
		}

		// Token: 0x06002F0A RID: 12042 RVA: 0x000F3C60 File Offset: 0x000F1E60
		public void RemoveSection(string pchSection, ref EVRSettingsError peError)
		{
			this.FnTable.RemoveSection(pchSection, ref peError);
		}

		// Token: 0x06002F0B RID: 12043 RVA: 0x000F3C74 File Offset: 0x000F1E74
		public void RemoveKeyInSection(string pchSection, string pchSettingsKey, ref EVRSettingsError peError)
		{
			this.FnTable.RemoveKeyInSection(pchSection, pchSettingsKey, ref peError);
		}

		// Token: 0x04002AE8 RID: 10984
		private IVRSettings FnTable;
	}
}
